Debugging with Dynamic Slicing and Backtracking
نویسندگان
چکیده
Programmers spend considerable time debugging code. Symbolic debuggers provide some help but the task remains complex and difficult. Other than breakpoints and tracing, these tools provide little high-level help. Programmers must perform many tasks manually that the tools could perform automatically, such as finding which statements in the program affect the value of an output variable for a given test case, and what was the value of a given variable when the control last reached a given program location. If debugging tools provided explicit support for these tasks, the debugging process could be automated to a significant extent. In this paper we present a debugging model, based on dynamic program slicing and execution backtracking techniques, that easily lends itself to automation. This model is based on experience with using these techniques to debug software. We also present a prototype debugging tool, SPYDER, that explicitly supports the proposed model, and with which we are performing further debugging research.
منابع مشابه
An Execution Backtracking Approach to Program Debugging
An execution backtracking facility in interactive source debuggers allows users to mirror their thought processes while debugging — working backwards from the location where an error is manifested and determining the conditions under which the error occurred. Such a facility also allows a user to change program characteristics and reexecute from arbitrary points within the program under examina...
متن کاملApplication of Dynamic Slicing in Program Debugging
A dynamic program slice is an executable part of a program whose behavior is identical, for the same program input, to that of the original program with respect to a variable(s) of interest at some execution position. In the existing dynamic slicing tools dynamic slices are represented in a textual form, i.e., a dynamic slice is displayed to programmers in the form of highlighted statements or ...
متن کاملCross-language Program Slicing in the .NET Framework
ABSTRACT Dynamic program slicing methods are very attractive for debugging because many statements can be ignored in the process of localizing a bug. Although language interoperability is a key concept in modern development platforms, current slicing techniques are still restricted to a single language. In this paper a cross-language dynamic program slicing technique is introduced for the .NET ...
متن کاملGeneric Techniques for Source-Level Debugging and Dynamic Program Slicing
Algebraic specifications have been used successfully as a formal basis for software development. This paper discusses how the origin and dynamic dependence relations implicitly defined by an algebraic specification can be used to define powerful language-specific tools. In particular, the generation of tools for source-level debugging and dynamic program slicing from specifications of interpret...
متن کاملA GSoC 2013 Proposal Enhancing Giri: Dynamic Slicing in LLVM
Program slice contains all statements in a program that directly or indirectly act the value of a variable occurrence [14], the criteria of which is a pair of statement and variables. We can further narrow the notion of slice, which contains statements that influence the value of a variable occurrence for special program inputs. This is referred as dynamic program slicing [1]. It works on a sin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw., Pract. Exper.
دوره 23 شماره
صفحات -
تاریخ انتشار 1993